开源项目管理工具Plane |
您所在的位置:网站首页 › rescue plane是什么职业 › 开源项目管理工具Plane |
本文软件由网友 不长到一百四誓不改名 推荐,不过这次是在他推荐之前,就已经完成了的 🙂 什么是 Plane ? Plane 是一个简单的、可扩展的、开源的项目和产品管理工具。它允许用户从一个基本的任务跟踪工具开始,逐步采用各种项目管理框架,如 Agile、Waterfall 等。 命令行安装在群晖上以 Docker 方式安装。 老苏折腾时,latest 对应 0.7 新建安装目录 # 新建文件夹 plane 和 子目录 mkdir -p /volume1/docker/plane/{pgdata,redisdata,uploads} # 进入 plane 目录 cd /volume1/docker/plane env.txt官方的提供了 .env.example 文件,地址在:https://github.com/makeplane/plane/blob/develop/.env.example,你可以在本地复制粘贴生成后,上传到 plane 目录,也可以直接用下面的命令下载 # 下载 env.txt wget -O env.txt https://raw.githubusercontent.com/makeplane/plane/develop/.env.example # 下不动的话可以加个代理 wget -O env.txt https://ghproxy.com/raw.githubusercontent.com/makeplane/plane/develop/.env.example虽然参数很多,但是要跑起来,需要修改的并不多,原本的内容老苏只填了 email 部分,因为要通过邮件邀请团队成员 # Email Settings EMAIL_HOST=smtp.88.com [email protected] EMAIL_HOST_PASSWORD= EMAIL_PORT=25 EMAIL_FROM="laosu "其他的部分未做修改,但是要跑起来,还需要在文件的最后面加上 3 行内容 # Auto generated and Required that will be generated from setup.sh NEXT_PUBLIC_API_BASE_URL=https://plane.laosu.ml:444 WEB_URL=https://plane.laosu.ml:444 SECRET_KEY=IVBfieeGdbKOIXC1a+Pqb989ju41Swyv6sxNUZLv6ZA= SECRET_KEY:可以用命令 openssl rand -base64 32 来生成; NEXT_PUBLIC_API_BASE_URL:后端 API 的地址;WEB_URL:前端网页地址;以上两个地址,老苏曾经尝试过用局域网 IP + 端口,但在登录时会显示 404 错误,实际地址变成了 http://192.168.0.197:3639/api/api/users/me/, 显然应该是多了一层 api,不确定是不是 bug,用域名或者干脆留空的话,是可以正常登录的 # Default Creds DEFAULT_EMAIL="[email protected]" DEFAULT_PASSWORD="password123"设置的是缺省的用户和密码,你可以改出你自己的 nginx.conf将下面的内容保存为 nginx.conf upstream plane { server plane-nginx:80; } error_log /var/log/nginx/error.log; server { listen 80; root /www/data/; access_log /var/log/nginx/access.log; location / { proxy_pass http://plane-web:3000/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } location /api/ { proxy_pass http://plane-api:8000/api/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } location /uploads/ { proxy_pass http://plane-minio:9000/uploads/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } docker-compose.yml官方的示例:https://github.com/makeplane/plane/blob/develop/docker-compose-hub.yml 你可以下载下来自己修改 # 下载 docker-compose.yml wget -O docker-compose.yml https://raw.githubusercontent.com/makeplane/plane/develop/docker-compose-hub.yml # 下不动的话可以加个代理 wget -O docker-compose.yml https://ghproxy.com/raw.githubusercontent.com/makeplane/plane/develop/docker-compose-hub.yml也可以直接将下面老苏修改后的内容保存为 docker-compose.yml 文件 version: "3.8" services: plane-web: container_name: plane-frontend image: makeplane/plane-frontend:latest restart: always command: /usr/local/bin/start.sh environment: NEXT_PUBLIC_API_BASE_URL: ${NEXT_PUBLIC_API_BASE_URL} NEXT_PUBLIC_GOOGLE_CLIENTID: 0 NEXT_PUBLIC_GITHUB_APP_NAME: 0 NEXT_PUBLIC_GITHUB_ID: 0 NEXT_PUBLIC_SENTRY_DSN: 0 NEXT_PUBLIC_ENABLE_OAUTH: 0 NEXT_PUBLIC_ENABLE_SENTRY: 0 #ports: # - 3636:3000 plane-api: container_name: plane-backend image: makeplane/plane-backend:latest restart: always command: ./bin/takeoff environment: DJANGO_SETTINGS_MODULE: plane.settings.production DATABASE_URL: postgres://${PGUSER}:${PGPASSWORD}@${PGHOST}:5432/${PGDATABASE} REDIS_URL: redis://plane-redis:6379/ EMAIL_HOST: ${EMAIL_HOST} EMAIL_HOST_USER: ${EMAIL_HOST_USER} EMAIL_HOST_PASSWORD: ${EMAIL_HOST_PASSWORD} EMAIL_PORT: ${EMAIL_PORT} EMAIL_FROM: ${EMAIL_FROM} AWS_REGION: ${AWS_REGION} AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} AWS_S3_BUCKET_NAME: ${AWS_S3_BUCKET_NAME} FILE_SIZE_LIMIT: ${FILE_SIZE_LIMIT} WEB_URL: ${WEB_URL} GITHUB_CLIENT_SECRET: ${GITHUB_CLIENT_SECRET} DISABLE_COLLECTSTATIC: 1 DOCKERIZED: 1 OPENAI_API_KEY: ${OPENAI_API_KEY} GPT_ENGINE: ${GPT_ENGINE} SECRET_KEY: ${SECRET_KEY} DEFAULT_EMAIL: ${DEFAULT_EMAIL} DEFAULT_PASSWORD: ${DEFAULT_PASSWORD} USE_MINIO: 1 depends_on: - plane-db - plane-redis #ports: # - 3637:8000 plane-worker: container_name: plane-worker image: makeplane/plane-worker:latest restart: always command: ./bin/worker environment: DJANGO_SETTINGS_MODULE: plane.settings.production DATABASE_URL: postgres://${PGUSER}:${PGPASSWORD}@${PGHOST}:5432/${PGDATABASE} REDIS_URL: redis://plane-redis:6379/ EMAIL_HOST: ${EMAIL_HOST} EMAIL_HOST_USER: ${EMAIL_HOST_USER} EMAIL_HOST_PASSWORD: ${EMAIL_HOST_PASSWORD} EMAIL_PORT: ${EMAIL_PORT} EMAIL_FROM: ${EMAIL_FROM} AWS_REGION: ${AWS_REGION} AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} AWS_S3_BUCKET_NAME: ${AWS_S3_BUCKET_NAME} FILE_SIZE_LIMIT: ${FILE_SIZE_LIMIT} WEB_URL: ${WEB_URL} GITHUB_CLIENT_SECRET: ${GITHUB_CLIENT_SECRET} DISABLE_COLLECTSTATIC: 1 DOCKERIZED: 1 OPENAI_API_KEY: ${OPENAI_API_KEY} GPT_ENGINE: ${GPT_ENGINE} SECRET_KEY: ${SECRET_KEY} DEFAULT_EMAIL: ${DEFAULT_EMAIL} DEFAULT_PASSWORD: ${DEFAULT_PASSWORD} USE_MINIO: 1 depends_on: - plane-api - plane-db - plane-redis plane-db: container_name: plane-db image: postgres:14 restart: always command: postgres -c 'max_connections=1000' environment: POSTGRES_USER: ${PGUSER} POSTGRES_DB: ${PGDATABASE} POSTGRES_PASSWORD: ${PGPASSWORD} volumes: - ./pgdata:/var/lib/postgresql/data plane-redis: container_name: plane-redis image: redis:6.2 restart: always volumes: - ./redisdata:/data plane-minio: container_name: plane-minio image: minio/minio volumes: - ./uploads:/export environment: MINIO_ROOT_USER: ${AWS_ACCESS_KEY_ID} MINIO_ROOT_PASSWORD: ${AWS_SECRET_ACCESS_KEY} command: server /export --console-address ":9090" #ports: # - 3638:9000 createbuckets: image: minio/mc depends_on: - plane-minio entrypoint: > /bin/sh -c " /usr/bin/mc config host add plane-minio http://plane-minio:9000 \$AWS_ACCESS_KEY_ID \$AWS_SECRET_ACCESS_KEY; /usr/bin/mc mb plane-minio/\$AWS_S3_BUCKET_NAME; /usr/bin/mc anonymous set download plane-minio/\$AWS_S3_BUCKET_NAME; exit 0; " plane-nginx: container_name: plane-nginx image: nginx ports: - 3639:80 volumes: - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro depends_on: - plane-web - plane-api然后执行下面的命令 # 新建文件夹 plane 和 子目录 mkdir -p /volume1/docker/plane/{pgdata,redisdata,uploads} # 进入 plane 目录 cd /volume1/docker/plane # 将 docker-compose.yml、env.txt、nginx.conf 放入当前目录 # 一键运行 docker-compose --env-file env.txt up -d如果没意外的话,除了 plane_createbuckets_1 外,另外 7 个容器应该都是正常启动的 老苏将用到的 env.txt 、config.conf docker-compose.yml 文件放到了 https://github.com/wbsu2003/synology/tree/main/Plane,方便大家对比着看 运行在浏览器中输入 https://plane.laosu.ml:444 就能看到登录界面 默认用户:[email protected],密码为:password123 需要设置角色 创建工作区 邀请成员输入要邀请的人员 可以一次输入多个邮件地址 接下来的提示界面看看就可以了 完成后就可以看到 Dashboard 界面了 团队成员如果邮件设置没问题,受邀请的成员很快会收到邮件 但是实际上地址存在问题,获取的地址是 http:///workspace-member-invitation/[email protected] 需要自行添加域名后变成 https://plane.laosu.ml:444/workspace-member-invitation/[email protected] 可以选择接受或者忽略 尚未接受邀请的成员会有 Pending 标志 接下来就可以开始建项目( Create Project),功能就留给需要的人自己摸索吧 遗留问题 就是上面提到的邮件的邀请链接问题;上传图片没解决;不知道是设置问题还是软件本身的 bug 参考文档makeplane/plane: Plane helps you track your issues, epics, and product roadmaps in the simplest way possible. 地址:https://github.com/makeplane/plane Plane - The open source project management tool 地址:https://plane.so/ Plane Documentation 地址:https://docs.plane.so/ Plane - Open-source project planning tool to streamline issues, sprints, and product roadmaps. (W.I.P., Linear/JIRA Alternative) - New release update v0.2-dev 🚀 🍰 : selfhosted 地址:https://www.reddit.com/r/selfhosted/comments/10q7h1z/plane_opensource_project_planning_tool_to/ |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |